Skip to content

Append client version info to user graffiti by default#9313

Open
chong-he wants to merge 17 commits into
sigp:unstablefrom
chong-he:append-graffiti-default
Open

Append client version info to user graffiti by default#9313
chong-he wants to merge 17 commits into
sigp:unstablefrom
chong-he:append-graffiti-default

Conversation

@chong-he
Copy link
Copy Markdown
Member

@chong-he chong-he commented May 18, 2026

Issue Addressed

Closes issue #9287

Additional Info

By default, append client version info by including the client code and some commit hash of the version, see: https://hackmd.io/@wmoBhF17RAOH2NZ5bNXJVg/BJX2c9gja

The exact implementation on how to append the client version info is different from other clients, e.g., Teku: https://docs.teku.consensys.io/reference/cli#validators-graffiti-client-append-format

I think that should be ok, as long as the appended info contains the EL, CL and the version (commit hash).

@chong-he chong-he marked this pull request as ready for review May 18, 2026 03:55
@chong-he chong-he added val-client Relates to the validator client binary ready-for-review The code is ready for review backwards-incompat Backwards-incompatible API change labels May 18, 2026

#[clap(
long,
requires = "graffiti",
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this requires, this is for users who does not want to have any graffiti at all, so they can use --graffiti-append false without needing the --graffiti flag

@michaelsproul michaelsproul added the v8.2.0 2026 Q2/Q3 new release label May 21, 2026
&randao_reveal,
graffiti.as_ref(),
SkipRandaoVerification::No,
SkipRandaoVerification::Yes,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
SkipRandaoVerification::Yes,
SkipRandaoVerification::No,

Should leave as is

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking at this, I thought I wanted to be consistent with other variables of using SkipRandaoVerification::Yes, that's probably why I changed to yes. As this is a test that is not related to RANDAO, I guess it is ok to use Yes here?
(i.e., the previous No is probably not quite right)

Comment thread validator_client/src/cli.rs Outdated
requires = "graffiti",
help = "When used, client version info will be prepended to user custom graffiti, with a space in between. \
help = "When used, client version info will be appended to user custom graffiti, with a space in between. \
This should only be used with a Lighthouse beacon node.",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should tweak this to say:

This should only be set to false when using a Lighthouse beacon node.

And something about how the default behaviour is to append.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a default value to the flag in the cli to make it clearer

#[test]
fn graffiti_append_true_flag() {
CommandLineTest::new()
.flag("graffiti-append", Some("true"))
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also need to test .flag("graffiti-append", Some("true")) which corresponds to just --graffiti-append. Some people might be using that from their old config.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a test to prevent regression

Comment thread book/src/validator_graffiti.md Outdated
Comment thread book/src/validator_graffiti.md Outdated
`This is my graffiti string yo yo`

To opt out from this, use the flag `--graffiti-append false` on the validator client. This will retain your own
graffiti when proposing a block, without appending any client version info.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should highlight that this ONLY works with Lighthouse BNs

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Revised the documentation to make this clear

@michaelsproul michaelsproul added waiting-on-author The reviewer has suggested changes and awaits thier implementation. and removed ready-for-review The code is ready for review labels May 25, 2026
chong-he and others added 4 commits May 25, 2026 09:43
Co-authored-by: Michael Sproul <michaelsproul@users.noreply.github.com>
@chong-he chong-he added ready-for-review The code is ready for review and removed waiting-on-author The reviewer has suggested changes and awaits thier implementation. labels May 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backwards-incompat Backwards-incompatible API change ready-for-review The code is ready for review v8.2.0 2026 Q2/Q3 new release val-client Relates to the validator client binary

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants